#ifndef __QTAPP_H__
#define __QTAPP_H__

#include "myFramework.h"
#include "App/AppBase.h"

class Launcher;
namespace RayFrame
{
	class QtApp: public RayFrame::AppBase
	{
	public:
		QtApp(void);
		~QtApp(void);

		// AppBase Implementation
		virtual void InitApp();
    virtual FrameBase* InitFrame();
    virtual void SetInitParams(int argc, char *argv[]);
		virtual void Update(double timeElapsed);
		virtual void Render(double timeElapsed);
		virtual void StartLoop();
		virtual void Exit();
		virtual void OnClose();
  protected:
    QApplication *m_app;

    int m_argc;
    char **m_argv;

    Launcher                *m_launcher;
    RayFrame::Mesh          *m_model;
    RayFrame::ShaderProgram *m_shader;
    RayFrame::Texture       *m_texture;
	};

	extern QtApp* g_qtApp;
}

#endif
